﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Computer_Manager.BUS;
using Computer_Manager.DTO;

namespace Computer_Manager.GUI
{
    public partial class frmEditCom : DevExpress.XtraEditors.XtraForm
    {
        BUS_customer bus_com = new BUS_customer();
        DTO_customer dto_com = new DTO_customer();
        private int id_com;
        frmCompany obj = (frmCompany)Application.OpenForms["frmCompany"];
        public int Id_com
        {
            get { return id_com; }
            set { id_com = value; }
        }
        public frmEditCom()
        {
            InitializeComponent();
        }

        private void frmEditCom_Load(object sender, EventArgs e)
        {
            dto_com.id_cus = id_com;
            var dt = bus_com.GetByID(dto_com);
            txtNamecom.Text = dt.Rows[0]["name_cus"].ToString();
            txtAddressCom.Text = dt.Rows[0]["address"].ToString();
            txtDeputy.Text = dt.Rows[0]["deputy"].ToString();
            txtID.Text = dt.Rows[0]["identity_card"].ToString();
            txtPhoneCom.Text = dt.Rows[0]["phone"].ToString();
            txtMailCom.Text = dt.Rows[0]["email"].ToString();
            txtTax.Text = dt.Rows[0]["tax"].ToString();
        }

        private void btnEditCom_Click(object sender, EventArgs e)
        {
            if (txtNamecom.Text == "" || txtAddressCom.Text == "" || txtPhoneCom.Text == "" || txtDeputy.Text == "" || txtID.Text == "" || txtTax.Text == "")
            {

                if (txtNamecom.Text == "")
                {
                    txtNamecom.Properties.NullValuePrompt = "Vui lòng nhập tên công ty";
                    txtNamecom.BackColor = Color.NavajoWhite;
                }
                else
                {
                    txtNamecom.Properties.NullValuePrompt = "";
                    txtNamecom.BackColor = Color.White;
                }
                ///////
                if (txtAddressCom.Text == "")
                {
                    txtAddressCom.Properties.NullValuePrompt = "Vui lòng nhập địa chỉ công ty";
                    txtAddressCom.BackColor = Color.NavajoWhite;
                }
                else
                {
                    txtAddressCom.Properties.NullValuePrompt = "";
                    txtAddressCom.BackColor = Color.White;
                }
                //////
                if (txtPhoneCom.Text == "")
                {
                    txtPhoneCom.Properties.NullValuePrompt = "Vui lòng nhập số điện thoại công ty";
                    txtPhoneCom.BackColor = Color.NavajoWhite;
                }
                else
                {
                    txtPhoneCom.Properties.NullValuePrompt = "";
                    txtPhoneCom.BackColor = Color.White;
                }
                ////
                if (txtDeputy.Text == "")
                {
                    txtPhoneCom.Properties.NullValuePrompt = "Vui lòng nhập số điện thoại công ty";
                    txtPhoneCom.BackColor = Color.NavajoWhite;
                }
                else
                {
                    txtPhoneCom.Properties.NullValuePrompt = "";
                    txtPhoneCom.BackColor = Color.White;
                }
                /////
                if (txtDeputy.Text == "")
                {
                    txtDeputy.Properties.NullValuePrompt = "Vui lòng nhập tên người đại diện";
                    txtDeputy.BackColor = Color.NavajoWhite;
                }
                else
                {
                    txtDeputy.Properties.NullValuePrompt = "";
                    txtDeputy.BackColor = Color.White;
                }
                if (txtID.Text == "")
                {
                    txtID.Properties.NullValuePrompt = "Vui lòng nhập số chứng minh người đại diện";
                    txtID.BackColor = Color.NavajoWhite;
                }
                else
                {
                    txtID.Properties.NullValuePrompt = "";
                    txtID.BackColor = Color.White;
                }
                if (txtTax.Text == "")
                {
                    txtTax.Properties.NullValuePrompt = "Vui lòng nhập mã số thuế";
                    txtTax.BackColor = Color.NavajoWhite;
                }
                else
                {
                    txtTax.Properties.NullValuePrompt = "";
                    txtTax.BackColor = Color.White;
                }
                MessageBox.Show("Bạn chưa nhập đầy đủ thông tin");
            }
            else
            {
                dto_com.id_cus = id_com;
                dto_com.name_cus = txtNamecom.Text;
                dto_com.address = txtAddressCom.Text;
                dto_com.deputy = txtDeputy.Text;
                dto_com.identity_card = int.Parse(txtID.Text);
                dto_com.phone = txtPhoneCom.Text;
                dto_com.email = txtMailCom.Text;
                dto_com.tax = txtTax.Text;
                dto_com.type = false;
                try
                {
                    bus_com.customer_Update(dto_com);
                    this.Close();
                    this.Dispose();
                    obj.datagridview();
                    MessageBox.Show("Sửa thành công");
                }
                catch (Exception)
                {
                    throw;
                }
            }
            //MessageBox.Show(id_com+"");
        }

        private void txtPhoneCom_Validating(object sender, CancelEventArgs e)
        {
            System.Text.RegularExpressions.Regex rEMail = new System.Text.RegularExpressions.Regex(@"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$");
            if (txtMailCom.Text.Length > 0)
            {

                if (!rEMail.IsMatch(txtMailCom.Text))
                {

                    MessageBox.Show("Sai định dạng Email", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtMailCom.SelectAll();
                    e.Cancel = true;

                }

            }
        }
    }
}